package life.codelearing.bean;

import java.util.HashMap;
import java.util.Map;

/**
 * 返回json数据的通用状态信息
 */
public class Msg {

    //状态码-> 100->成功  200->失败
    private int code;
    //提示信息
    private String msg;
    //用户要给浏览器返回的数据信息
    private Map<String,Object> extend = new HashMap<>();

    /**
     * 基础的成功方法
     * @return
     */
    public static Msg success(){
        Msg msg = new Msg();
        msg.setCode(100);
        msg.setMsg("处理成功");
        return msg;
    }

    /**
     * 基础的失败方法
     * @return
     */
    public static Msg fail(){
        Msg msg = new Msg();
        msg.setCode(200);
        msg.setMsg("处理失败");
        return msg;
    }

    /**
     * 链式增添用户数据的方法
     * @param key
     * @param value
     * @return
     */
    public Msg add(String key, Object value) {
        this.getExtend().put(key,value);
        return this;
    }

    /**
     * 覆盖无参构造方法
     */
    public Msg(){
    }

    /**
     * 有参构造方法
     * @param code
     * @param msg
     * @param extend
     */
    public Msg(int code, String msg, Map<String, Object> extend) {
        this.code = code;
        this.msg = msg;
        this.extend = extend;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public Map<String, Object> getExtend() {
        return extend;
    }

    public void setExtend(Map<String, Object> extend) {
        this.extend = extend;
    }
}
